package com.x52im.rainbowchat.http.logic.dto;

import java.sql.Timestamp;
import java.util.Objects;

public class AlipayDepositNotifyDTO {
    private int id;
    private Timestamp notifyTime;
    private String notifyType;
    private String notifyId;
    private String authAppId;
    private String sign;
    private String tradeNo;
    private String outTradeNo;
    private String outBizNo;
    private String buyerId;
    private String buyerLogonId;
    private String sellerId;
    private String sellerEmail;
    private String tradeStatus;
    private int totalAmount;
    private int receiptAmount;
    private Integer invoiceAmount;
    private Integer buyerPayAmount;
    private Integer pointAmount;
    private Integer refundFee;
    private String subject;
    private String body;
    private Timestamp gmtCreate;
    private Timestamp gmtPayment;
    private Timestamp gmtRefund;
    private Timestamp gmtClose;
    private String fundBillList;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Timestamp getNotifyTime() {
        return notifyTime;
    }

    public void setNotifyTime(Timestamp notifyTime) {
        this.notifyTime = notifyTime;
    }

    public String getNotifyType() {
        return notifyType;
    }

    public void setNotifyType(String notifyType) {
        this.notifyType = notifyType;
    }

    public String getNotifyId() {
        return notifyId;
    }

    public void setNotifyId(String notifyId) {
        this.notifyId = notifyId;
    }

    public String getAuthAppId() {
        return authAppId;
    }

    public void setAuthAppId(String authAppId) {
        this.authAppId = authAppId;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public String getOutBizNo() {
        return outBizNo;
    }

    public void setOutBizNo(String outBizNo) {
        this.outBizNo = outBizNo;
    }

    public String getBuyerId() {
        return buyerId;
    }

    public void setBuyerId(String buyerId) {
        this.buyerId = buyerId;
    }

    public String getBuyerLogonId() {
        return buyerLogonId;
    }

    public void setBuyerLogonId(String buyerLogonId) {
        this.buyerLogonId = buyerLogonId;
    }

    public String getSellerId() {
        return sellerId;
    }

    public void setSellerId(String sellerId) {
        this.sellerId = sellerId;
    }

    public String getSellerEmail() {
        return sellerEmail;
    }

    public void setSellerEmail(String sellerEmail) {
        this.sellerEmail = sellerEmail;
    }

    public String getTradeStatus() {
        return tradeStatus;
    }

    public void setTradeStatus(String tradeStatus) {
        this.tradeStatus = tradeStatus;
    }

    public int getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(int totalAmount) {
        this.totalAmount = totalAmount;
    }

    public int getReceiptAmount() {
        return receiptAmount;
    }

    public void setReceiptAmount(int receiptAmount) {
        this.receiptAmount = receiptAmount;
    }

    public Integer getInvoiceAmount() {
        return invoiceAmount;
    }

    public void setInvoiceAmount(Integer invoiceAmount) {
        this.invoiceAmount = invoiceAmount;
    }

    public Integer getBuyerPayAmount() {
        return buyerPayAmount;
    }

    public void setBuyerPayAmount(Integer buyerPayAmount) {
        this.buyerPayAmount = buyerPayAmount;
    }

    public Integer getPointAmount() {
        return pointAmount;
    }

    public void setPointAmount(Integer pointAmount) {
        this.pointAmount = pointAmount;
    }

    public Integer getRefundFee() {
        return refundFee;
    }

    public void setRefundFee(Integer refundFee) {
        this.refundFee = refundFee;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public Timestamp getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Timestamp gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Timestamp getGmtPayment() {
        return gmtPayment;
    }

    public void setGmtPayment(Timestamp gmtPayment) {
        this.gmtPayment = gmtPayment;
    }

    public Timestamp getGmtRefund() {
        return gmtRefund;
    }

    public void setGmtRefund(Timestamp gmtRefund) {
        this.gmtRefund = gmtRefund;
    }

    public Timestamp getGmtClose() {
        return gmtClose;
    }

    public void setGmtClose(Timestamp gmtClose) {
        this.gmtClose = gmtClose;
    }

    public String getFundBillList() {
        return fundBillList;
    }

    public void setFundBillList(String fundBillList) {
        this.fundBillList = fundBillList;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        AlipayDepositNotifyDTO that = (AlipayDepositNotifyDTO) o;
        return id == that.id &&
                totalAmount == that.totalAmount &&
                receiptAmount == that.receiptAmount &&
                Objects.equals(notifyTime, that.notifyTime) &&
                Objects.equals(notifyType, that.notifyType) &&
                Objects.equals(notifyId, that.notifyId) &&
                Objects.equals(authAppId, that.authAppId) &&
                Objects.equals(sign, that.sign) &&
                Objects.equals(tradeNo, that.tradeNo) &&
                Objects.equals(outTradeNo, that.outTradeNo) &&
                Objects.equals(outBizNo, that.outBizNo) &&
                Objects.equals(buyerId, that.buyerId) &&
                Objects.equals(buyerLogonId, that.buyerLogonId) &&
                Objects.equals(sellerId, that.sellerId) &&
                Objects.equals(sellerEmail, that.sellerEmail) &&
                Objects.equals(tradeStatus, that.tradeStatus) &&
                Objects.equals(invoiceAmount, that.invoiceAmount) &&
                Objects.equals(buyerPayAmount, that.buyerPayAmount) &&
                Objects.equals(pointAmount, that.pointAmount) &&
                Objects.equals(refundFee, that.refundFee) &&
                Objects.equals(subject, that.subject) &&
                Objects.equals(body, that.body) &&
                Objects.equals(gmtCreate, that.gmtCreate) &&
                Objects.equals(gmtPayment, that.gmtPayment) &&
                Objects.equals(gmtRefund, that.gmtRefund) &&
                Objects.equals(gmtClose, that.gmtClose) &&
                Objects.equals(fundBillList, that.fundBillList);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, notifyTime, notifyType, notifyId, authAppId, sign, tradeNo, outTradeNo, outBizNo, buyerId, buyerLogonId, sellerId, sellerEmail, tradeStatus, totalAmount, receiptAmount, invoiceAmount, buyerPayAmount, pointAmount, refundFee, subject, body, gmtCreate, gmtPayment, gmtRefund, gmtClose, fundBillList);
    }
}
